﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoVanHocTapData.Entities;

namespace CoVanHocTapData.Concretes
{
    public interface ISinhVienRepository
    {
        SinhVien LaySVDangNhap();
        SinhVien LaySVDangNhap(string strMSSV);

        float DiemTrungBinhTichLuyCua(string maSV);
        float? TinChiTichLuyCua(string maSV);
        void TichLuyBatBuocCua(string maSV, out string dsMHBatBuocDaHT, out float? tcTichLuyBatBuoc, out string dsMHBatBuocChuaHT);
        void TichLuyTuChonCua(string maSV, out List<KhoiCTDT_TC> soTCTichLuyTheoNhom, out float soTCHT_Thuc);
        float? TinChiTichLuyTuChonCua(string maSV);

        int DiemToeicDaHT(string maSV);
        string DSMonAVGTDaHT(string maSV);
        string DSMonAVGTChuaHT(string maSV);

        string DSMonBatBuocChuaHT(string maSV);
        string DSMonGDTCDaHT(string maSV);
        string DSMonGDTCChuaHT(string maSV);
        
        string DSMonGDQPDaHT(string maSV);
        string DSMonGDQPChuaHT(string maSV);

        float DiemTrungBinhTichLuyCN2Cua(string maSV);
        float? TinChiTichLuyCN2Cua(string maSV);
        void TichLuyBatBuocCN2Cua(string maSV, out string dsMHBatBuocDaHT, out float? tcTichLuyBatBuoc, out string dsMHBatBuocChuaHT);
        void TichLuyTuChonCN2Cua(string maSV, out List<KhoiCTDT_TC> soTCTichLuyTheoNhom, out float soTCHT_Thuc);
        float? TinChiTichLuyTuChonCN2Cua(string maSV);

        void UpdateMatKhauChoSV(SinhVien sv,string mkMoi);

        void DSMonHocTruocTienQuyet(string chuoiMaMH, out List<MonHoc> dsMHTruoc, out List<MonHoc> dsMHTienQuyet);

        List<SinhVien> LayDsSVTheoKhoaHoc(string nganhID, string heDaoTaoID, int nienKhoaID);
   }
}
